#include <Body.hpp>
#include <vector>

#ifndef _CLASSUNIVERSECAR_
#define _CLASSUNIVERSECAR_

namespace Universe {

/**
 * Class which represents a car, it associates 4 bodies as its tires and a body as the shoot-ball.
 */
class Car
{
public:
    virtual ~Car();
    
    Car();
    
    virtual Universe::Body* getChasis() = 0;
    
    /**
     * Function to get the ball as body
     * @return A pointer to the ball-body
     */
    virtual Universe::Body* getBall() = 0;
    
    /**
     * Function to get each tire as body
     * @param index Index to a tire, it must be in range 0..3
     * @return A pointer to the tire-body
     */
    virtual Universe::Body* getTire(int index) = 0;
    

protected:
	Universe::Body* chasisBody;
    //Pointers to the tire bodies.
    std::vector< Universe::Body* > tireBody;
    //Pointer to its shoot-ball body.
    Universe::Body* ballBody;
};

}//namespace World

#endif
